Шкірки. Довідник - Довідка Light Alloy

Уся інформація по шкірках у вигляді довідника.

Усі елементи Light Alloy

Тут перераховані усі елементи, які на даний момент можна використати в Light Alloy.

ТипЕлементи Приклад синтаксису Характеристика
Контур Контур вікна <IMAGE id="HD" file="header.bmp"> <AREA id="brd" pos="0,0" size="210,128"/> </IMAGE> <CTLDEF id="WndBorder" type="Panel" bg="HD.brd" size="29,127" bgsplit="14,26" border_size="3,2,3,4"/> Рамка навколо вікна програвача (тут і далі під вікном програвача матиметься на увазі тільки основне вікно). Особливості:
  • тільки тут нижня і права частина зображення не розрізаються, а розтягуються.
  • Товщина може бути будь-якою, у тому числі - нульовою.
  • Присутність обов'язкова (навіть при нульовій товщині).
Панель Верхня (заголовок)
Нижня (панель керування)
Панель списку
Плаваючі панелі
<IMAGE id="FT" file="footer.bmp"> <AREA id="bg" pos="0,0" size="224,104"/> </IMAGE> <CTLDEF id="CtlPanel" type="Panel" bg="FT.bg" size="400,104" bgsplit="110,103"> </CONTROL> Панель, на якій розташовуються усі контроли. По суті це - контейнер. Положення трьох основних панелей (верхньої, нижньої, панелі списку) визначені жорстко. У шкірці можна міняти тільки їх висоту. Плаваючі панелі можуть розташовуватися де завгодно усередині основних панелей.
Проте ширина важлива навіть для цих панелей. Вона має бути більша, ніж ширина з урахуванням кожного окремо узятого контрола (з урахуванням його позиції і розміру, але без урахування інших контролів). Інакше шкірка коректно не відображатиметься до перезавантаження програвача.
Кнопка Файл
  • Відкрити файл
  • Інформація про файл
  • Відтворити DVD-диск
  • Відкрити теку з DVD
  • Інформація про файл в OSD
  • Повноекранне меню відкриття файлів
  • Каталог інтернет радіостанцій
Відтворення
  • Відтворення / Пауза з фіксацією
  • Стоп (вивантаження файлу)
  • Кадр вперед
  • Зміна швидкості з фіксацією
  • Збільшити швидкість відтворення
  • Зменшити швидкість відтворення
Перемотування
  • Зробити закладку на таймлайні
  • Відмінити вступ / закінчення фільму
Вікно
  • Поверх усіх вікон з фіксацією
  • Вікно/Увесь екран з фіксацією
  • Первинний розмір
  • Максимізувати (розгорнути)з фіксацією
  • Мінімізувати (згорнути)
Список
  • Попередній за списком
  • Список з фіксацією
  • Наступний за списком
  • Відтворити вибраний
  • Додати файл(и) в список
  • Додати теку в список
  • Видалити зі списку
  • Очистити список
  • Перемістити вище
  • Перемістити нижче
  • Випадковий порядок відтворення з фіксацією
  • Закладки в списку з фіксацією
  • Повтор списку з фіксацією
  • Таблиця за списком
  • Зберегти список
  • Перейти до файлу
  • Відсортувати список
  • Перемішати список
  • Пошук у списку
Звук
  • Відключити звук з фіксацією
  • Перемкнути аудіо-доріжку
  • Налаштування звуку
  • Радіо: почати/зупинити запис з фіксацією
Субтитри
  • Показати/приховати субтитри з фіксацією
  • Перемкнути субтитри
  • Налаштування субтитрів
  • Повноекранне меню завантаження субтитрів
Відео
  • Перемкнути пропорції
  • Налаштування відео
  • Зберегти кадр
  • Зберегти кадр у буфер обміну
  • Зберегти мініатюри
  • Зберегти пакет повнорозмірних скріншотів
  • Відкрити теку зі знімками з екрану
Програма
  • Налаштування
  • Планувальник з фіксацією
  • Дерево фільтрів
  • Сайт програми
  • Сайт розробника шкірки
  • Про програму
  • Вихід
Система
  • Вимкнути монітор
  • Виклик діалогу виключення комп'ютера
  • Перевести комп'ютер в сплячий режим
<AREA id="BtPlay" pos="0,105" size="73,110"/> <CONTROL type="GfxBtn" pos="10,61" size="36,36" img="FT.BtPlay" link="App.SuperPlay"/> Кнопка - це основний контрол шкірки. Завдання кнопки - виконати функцію при натисненні на неї. Кнопки мають три стани:
  • звичайна
  • під курсором
  • що натискається
Деякі кнопки мають фіксацію: після натиснення вони переходять не в звичайний стан, а в додатковий звичайний стан. Відповідно, такі кнопки мають вже шість станів. Для кнопок з фіксацією рекомендується анімація за принципом "спрацьовує при відпусканні кнопки".
Слайдер Гучність <AREA id="VolBGF" pos="226,40" size="9,13"/> <AREA id="VolThumb" pos="236,40" size="10,13"/> <AREA id="VolBG" pos="247,40" size="9,13"/> <CONTROL type="Slider" pos="45,40" size="92,13" bg="FT.VolBG" bgsplit="5,19" bgfill="FT.VolBGF" thumb="FT.VolThumb"/> Єдиним представником слайдера є гучність. Нескладно помітити, що гучність використовує не одну а відразу три графічні константи.

У гучності є одне обмеження: при анімації повзунка передбачається, що він має ширину рівно в 10 пікселів. Тому 10-піксельні повзунки ідеально їздитимуть. Вужчі будуть "недоїзджати". Це можна обійти маніпуляціями правим краєм заднього плану гучності. Якщо потрібен повзунок завтовшки в 1 піксель або десь біля того, то простіше використовувати мініпанель в якості маски. Ширші повзунки будуть "переїзджати". Це можна обійти накладенням зі зміщенням вліво поверх іншого регулятора гучності (у якого у свою чергу повзунок зміщений управо).
Шкала часу Шкала часу <AREA id="SeekBGfill" pos="226,7" size="24,26"/> <AREA id="SeekBG" pos="298,7" size="24,26"/> <AREA id="SeekThumb" pos="263,19" size="24,14"/> <AREA id="SeekHiTick" pos="254,14" size="1,5"/> <AREA id="SeekLoTick" pos="255,14" size="1,5"/> <CONTROL type="Seeker" pos="4,9" size="-4,24" bg="FT.SeekBG" bgsplit="12,6" bgfill="FT.SeekBGfill" thumb="FT.SeekThumb" lotick="FT.SeekLoTick" hitick="FT.SeekHiTick" OpeningPos="14" OpeningHeight="6"/> Як і гучність, шкала часу є єдиним представником свого типу. Але шкала часу ще складніша. Окрім того, що є в гучності, шкала часу також має два види насічок (основні і проміжні ) і шрифт для позначення позиції.

Тепер до обмежень.
  • шкала часу припускає роботу з повзунком шириною 24 пікселі. Відхилення від цього числа приведе до візуальної невідповідності кліка мишки і переходу повзунка.
  • глави/закладки на шкалі часу - це великі насічки, розміщені нижче.
  • числа вирівнюються по верхньому краю. Насічки - по числах.
  • шкала починається раніше нуля і закінчується після закінчення.
Текстовий рядок Текст заголовка
Позиція
Тривалість
Час
<AREA id="TitleBG" pos="10,8" size="10,16"/> <CONTROL type="Text" pos="52,2" size="-52,17" font="Verdana" fontsz="10" top_delta="-1" bold="1" bg="Cap.BrandBG" bgsplit="8,5" variable="1" text="Light Alloy"/> Текстовий рядок призначений для відображення інформації. Інформації в заголовку файлу. У текстовому рядку можна написати будь-який текст, але є всього 4 види інтерактивної інформації:
  1. {TITLE} - інформація заголовка
  2. {POS} - позиція відтворюваного файлу
  3. {DUR} - тривалість відтворюваного файлу
  4. {TIME} - системний час
Можна комбінувати простий текст і інтерактивний.

Вирівнювання тексту в текстовому рядку виконується по центру.
Текстовий рядок з графічним шрифтом Позиція
Тривалість
Час
<AREA id="Digits" pos="326,6" size="114,15"/> <FONT id="Digits" img="FT.Digits" chars="0123456789: &lt;&gt;_"/> <CONTROL type="Text" pos="3,1" size="69,14" font="Digits" text=" {POS}_&gt;_{DUR}"/> Відмінність від попереднього типу полягає в тому, що використовуваний шрифт - намальований. А це багато що спрощує: немає нужди виставляти гарнітуру і розмір шрифту, його жирність, якщо усе це є малюнком.

Графічні шрифти використовуються для інтерактивної інформації з обмеженим набором символів - для позиції, тривалості і часу. Ймовірно, можна намалювати повний набір символів, яких вистачило б навіть на відображення вмісту {TITLE}, але прецедентів немає.

Вирівнювання тексту в графічному текстовому рядку виконується по лівому краю.
Набір кольорів
  1. Кольори тексту в заголовку вікна;
  2. Кольори OSD і відеообласті;
  3. Кольори списку;
  4. Кольори автопромотки;
  5. Кольори хінтів;
  6. Кольори контекстного меню;
  7. Кольори повноекранного завантаження файлів і субтитрів (два окремі блоки).
<IMAGE id="Color" file="Color.bmp"> <AREA id="LACaption" pos="1,1" size="1,2"/> <AREA id="OSD" pos="141,18" size="1,5"/> <AREA id="Timeline" pos="71,83" size="1,2"/> <AREA id="Hint" pos="71,119" size="1,3"/> <AREA id="PL" pos="1,18" size="1,12"/> <AREA id="Menu" pos="71,18" size="1,7"/> <AREA id="FOD_TV" pos="1,83" size="1,18"/> <AREA id="SOD_TV" pos="1,83" size="1,18"/> </IMAGE> Набори кольорів є блоками зображень шириною в 1 піксель і заввишки відповідно до кількості кольорів. Кольори відповідних пікселів використовуються для заливки фонів і текстових рядків.

Набори кольорів тільки оголошуються. Їх застосування визначається програмою.
Декоративні зображення Логотип
Іконки контекстного меню
Галка контекстного меню
Закладка в списку
Мишка в хінтах
<IMAGE id="Menu" file="Rclick.bmp"> <AREA id="bg" pos="0,0" size="20,23"/> <AREA id="pics" pos="0,24" size="33,84"/> <AREA id="Checked" pos="0,109" size="16,16"/> <AREA id="Bookmark" pos="22,0" size="11,11"/> </IMAGE> Декоративні зображення не мають функцій. Вони просто є. За великим рахунком, їх завдання - тільки прикрашати зовнішній вигляд Light Alloy.

Одна з особливостей декоративних зображень - місце їх застосування закладене в програму, тому вони тільки оголошуються.

Ще одну ключову особливість мають Іконки контекстного меню, Галка контекстного меню і Закладка в списку. Ці зображення підтримують бітову прозорість. Прозорість має бути виражена зеленим кольором (#00ff00 чи RGB{0,255,0})

Структура шкірки

Файл Функція Вимоги
Шкірка.las Об'єднує усі файли шкірки в один незрозумілий файл, який непідготовлений користувач не стане розпаковувати
  1. Ім'я файлу: будь-яке.las (у особистих цілях можна використати zip або взагалі неупаковану шкірку);
  2. архів у форматі ZIP;
  3. алгоритм стискування DEFLATE (використовується архіваторами за умовчанням);
  4. метод стискування (швидкісний/нормальний/максимальний і тому подібне) - будь-який, але рекомендується максимальний.
SkinInfo.txt Інформація про шкірку у вікні налаштувань
  1. Ім'я файлу: "SkinInfo.txt";
  2. Кодування: UTF-8 with signature (вона ж - UTF-8 BOM).
Preview.png Передперегляд шкірки у вікні налаштувань
  1. Ім'я файлу: "Preview.png";
  2. Параметри збереження в PNG: будь-які;
  3. Розміри зображення: 200х150.
Interface.xml Описує, що, де і як буде розташовано
  1. Ім'я файлу: "Interface.xml";
  2. Кодування: UTF-8 with signature (вона ж - UTF-8 BOM).
Skin.bmp Джерело усієї графіки шкірки
  1. Ім'я файлу: будь-яке латиницею;
  2. Колірний простір: будь-яке (24 біт/256/16/2 кольорів);
  3. Стискування в RLE не рекомендується, оскільки це ослабить стискування усієї шкірки, і вона буде більшою;
  4. необхідно уникати залишати багато вільного місця (але не на шкоду зручності);
  5. необхідно розділяти усі зображення у файлі відступами в 1 піксель (у тому числі стани кнопки між собою) для зручності сприйняття і подальшої розмітки.

Структура файлу SkinInfo.txt

Файл SkinInfo.txt складається з 6-и рядків. Обмеження кожного рядка - не більше 45 символів. Перенесення не допускаються.

Рядок Значення
SkinTitle Назва шкірки
SkinAuthor Автор шкірки (ім'я або псевдонім)
SkinVer версія шкірки
SkinWWW вебсайт шкірки; рекомендується таким іменувати тему на офіційному форумі, але не обов'язково.
SkinCmt Коментар до шкірки будь-якого змісту
SkinAudio Якщо "0", то шкірка буде доступна тільки в звичайному режимі;
якщо "1", то шкірка буде доступна тільки в аудіорежимі.

Параметри:

Структура файлу Interface.xml

Нижче представлена структура блоків у файлі. Параметр "id" міняти у більшості випадків не можна (виключення: IMAGE id="HD", IMAGE id="FT", IMAGE id="PL", але для зручності сприйняття навіть їх не рекомендується міняти).

<SKIN>
Визначення графічних констант (підблоки можна розташовувати в довільному порядку)
<IMAGE id="Logo" file="logo.bmp"> константа логотипу
<IMAGE id="HD" file="Header.bmp"> константи верхньої панелі (заголовка)
<IMAGE id="FT" file="Footer.bmp"> константи нижньої панелі (панелі керування)
<IMAGE id="PL" file="Playlist.bmp"> константи панелі списку
<IMAGE id="Menu" file="Menu.bmp"> константи контекстного меню
<IMAGE id="Hint" file="Hint.bmp"> константи хінтів
<IMAGE id="Color" file="Color.bmp"> константи наборів кольорів
Кожен "IMAGE" складається з окремих елементів - AREA.
<FONT id="Digits" img="FT.Digits" chars=" 0123456789:"/> блок розпізнавання графічних шрифтів
Застосування контролів (підблоки можна розташовувати в довільному порядку)
<CTLDEF id="WndBorder" type="Panel" bg="HD.brd" size="29,52" bgsplit="14,24"/> рамка
<CTLDEF id="Caption" type="Panel" bg="HD.bg" size="400,21" bgsplit="14,10"> заголовок
<CTLDEF id="CtlPanel" type="Panel" bg="FT.bg" size="400,84" bgsplit="10,10"> панель керування
<CTLDEF id="PListPanel" type="Panel" bg="PL.bg" size="29,46" bgsplit="7,23"> панель списку
Кожен "CTLDEF" (окрім CTLDEF id="WndBorder") складається з окремих елементів - CONTROL.

Перелік тегів Interface.xml

Тег Призначення Доступні параметри
SKIN Контейнер для усіх інших тегів -
IMAGE Іменний блок констант з посиланням на файл-джерело id, file
AREA Створює графічну константу id, pos, size
FONT Створює графічний шрифт на основі константи id, img, chars
CTLDEF Іменний блок контролів. Представляє одну з жорстко заданих панелей id, type, bg, size, bgsplit
CONTROL Створює контрол.
Контрол типу "панель" може містити інші контроли
type, pos, size, bgsplit, img, link,
font, fontsz, top_delta, bold, bg, bgsplit, variable, text,
bgfill, thumb, lotick, hitick, OpeningPos, OpeningHeight

Перелік параметрів тегів Interface.xml

Параметр Функція Синтаксис Доступний для тегів
bg Визначає зображення фону контролів і групи контролів (окрім кнопок) bg="(IMAGE id).(AREA id)"
Наприклад, bg="HD.bg"
CTLDEF, CONTROL
(окрім кнопок)
bgfill Визначає зображення фону пройденої ділянки контролів "гучність" і "шкала часу" bgfill="(IMAGE id).(AREA id)"
Наприклад, bgfill="FT.VolBGF"
CONTROL
type = slider | seeker
bgsplit Визначає піксель по якому станеться розтягання контрола (окрім кнопок).
У разі рамки вікна визначається піксель, лівіше і вище за який рамка не розтягуватиметься.
bgsplit="x,y"
x,y - цілі, більші нуля
Наприклад: bgsplit="5,19"
CTLDEF, CONTROL
(окрім кнопок)
bold Визначає жирність текстового рядка, якщо вона задається звичайним шрифтом bold="x"
де x= 0 або 1. Якщо 1, то жирний, якщо 0, то ні.
Наприклад, bold="0"
CONTROL
type = text
border_sizeопціональний Параметр, що визначає товщину рамки вікна. Рамка є завжди, навіть коли її товщина складає 0 пікселів. border_size="x1,y1,x2,y2"
де x1, y1, x2, y2 - це чотири цілих числа в порядку "ліворуч, згори, справа, знизу". За умовчанням "4,3,4,5"
Наприклад, border_size="3,2,3,4"
CTLDEF
type = Panel
chars задає послідовність, відповідно до якої розпізнаватиметься графічний шрифт chars="abcd"
де abcd повинен містити " 0123456789:" для Годинника і Тривалості і додатково "<" для Позиції. Порядок символів будь-який. Можлива наявність будь-яких додаткових символів.
FONT
file визначає файл зображення, на основі якого створюватимуться вкладені графічні константи. file="filename.ext"
де filename.ext - ім'я файлу, включаючи розширення.
Наприклад: file="main.bmp"
IMAGE
font визначає шрифт (системний або графічний) для текстового контрола font="anyfont"
де anyfont - назва шрифту
Наприклад font="Verdana", font="Digits"
CONTROL
type=Text
fontsz визначає розмір системного шрифту fontsz="x"
де x - ціле число більше нуля.
Наприклад fontsz="10"
CONTROL
type=Text
hitick визначає основну (високу) насічку на шкалі часу hitick="(IMAGE id).(AREA id)"
Наприклад hitick="FT.SeekHiTick"
CONTROL
type=Seeker
id Власне ім'я елементу, використовуване надалі для звернення до нього id="TypName"
де TypName - унікальне ім'я (див. довідник далі)
Наприклад id="BtSubs"
IMAGE, AREA, FONT, CTLDEF
img визначає графічну константу для формування кнопки img="(IMAGE id).(AREA id)"
Наприклад img="FT.BtPlay"
CONTROL
type=GfxBtn
link визначає функцію кнопки link="fx"
де fx - це одна із попередньо визначених функцій
Наприклад link="App.SuperPlay"
CONTROL
type=GfxBtn
lotick визначає додаткову (низьку) насічку на шкалі часу lotick="(IMAGE id).(AREA id)"
Наприклад lotick="FT.SeekLoTick"
CONTROL
type=Seeker
OpeningHeight визначає висоту смуги автопромотки на шкалі часу OpeningHeight="x"
де x - ціле позитивне число
Наприклад OpeningHeight="6"
CONTROL
type=Seeker
OpeningPos визначає відступ від верхнього краю шкали часу для смуги автопромотки OpeningPos="y"
де y - відстань від верху шкали часу до верху автопромотки
Наприклад OpeningPos="14"
CONTROL
type=Seeker
pos визначає позицію графічної константи на малюнку або контрола на панелі pos="x,y"
де x,y - відстань від лівого і верхнього країв відповідно. У контролів значення можуть бути негативними. Негативне значення говорить про те, що відлік проходитиме не від лівого або верхнього країв, а від правого або нижнього
Наприклад pos="50,67"
AREA, CONTROL
size визначає розмір графічної константи або контрола size="x,y"
де x,y - відстань від лівого і верхнього країв описуваного елементу відповідно. У контролів значення можуть бути негативними. Негативність говорить про те, що відлік проходитиме не від лівого або верхнього країв елементу, а від правого або нижнього країв панелі
Наприклад size="24,28"
AREA, CONTROL
text визначає текстовий вміст контрола відповідного типу text="any"
де any - це довільний текст.
Окрім усього іншого, можна вставити змінні {TITLE},{POS},{DUR},{TIME}, що означають Заголовок, Позицію, Тривалість і Час відповідно
Наприклад text="{TIME}"
CONTROL
type=Text
thumb визначає зображення бігунка в гучності і шкалі управління thumb="(IMAGE id).(AREA id)"
Наприклад thumb="FT.VolThumb"
CONTROL
type = slider | seeker
top_delta визначає зрушення тексту в неграфічному текстовому рядку по вертикалі; фон залишається нерухомим top_delta="y"
де y - це величина зрушення тексту по вертикалі. Плюс - вниз, мінус - вгору
Наприклад top_delta="-2"
CONTROL
type=Text
type визначає тип контрола. Від цього залежать усі інші параметри type="t"
де t - це Panel (панель), GfxBtn (кнопка), Text (текст), Seeker (шкала часу), Slider (гучність)
Наприклад type="Text"
CTLDEF, CONTROL
variableопціональний оголошує, що вміст текстового рядка довільний (інакше рядок завжди виводить {title}) variable="x"
де x = 0 або 1. За умовчанням "0". Якщо 1, то буде виведено будь-який вміст, якщо 0, виводиться {title}. Рекомендується завжди використовувати variable="1"
Наприклад variable="1"
CONTROL
type=Text

Перелік усіх елементів шкірки

Усі елементи, з яких будується шкірка, діляться на необхідні і опціональні. Без перших шкірка просто неможлива. До того ж вони жорстко прив'язані до своїх місць. Наявність або відсутність других визначається тільки автором шкірки.

Необхідні елементи шкірки

Id в частині застосування міняти не можна. Якщо частини застосування немає, то не можна міняти усі Id в частині оголошення.

Назва Тип Оголошення Застосування Опис
Логотип Декоративне зображення <IMAGE id="Logo" file="logo.bmp"> <AREA id="Splash" pos="0,0" size="262,230"/> </IMAGE> - Відображається у відеообласті за відсутності відео
Контур вікна Контур <IMAGE id="HD" file="Header.bmp"> <AREA id="brd" pos="0,0" size="210,128"/> </IMAGE> <CTLDEF id="WndBorder" type="Panel" bg="HD.brd" size="29,127" bgsplit="14,26" border_size="3,2,3,4"/> Рамка навколо вікна програвача
Верхня панель Панель <IMAGE id="HD" file="header.bmp"> <AREA id="bg" pos="10,4" size="10,21"/> </IMAGE> <CTLDEF id="Caption" type="Panel" bg="HD.bg" size="400,21" bgsplit="14,10"> </CTLDEF> Панель вверху вікна
Нижня панель Панель <IMAGE id="FT" file="footer.bmp"> <AREA id="bg" pos="0,0" size="224,104"/> </IMAGE> <CTLDEF id="CtlPanel" type="Panel" bg="FT.bg" size="400,104" bgsplit="110,103"> </CTLDEF> Панель внизу вікна
Панель списку Панель <IMAGE id="PL" file="playlist.bmp"> <AREA id="bg" pos="0,0" size="14,34"/> </IMAGE> <CTLDEF id="PListPanel" type="Panel" bg="PL.bg" size="300,34" bgsplit="7,23"> </CTLDEF> Панель внизу області списку
Контекстне меню Декоративне зображення <IMAGE id="Menu" file="Rclick.bmp"> <AREA id="bg" pos="0,0" size="20,23"/> <AREA id="pics" pos="0,24" size="33,84"/> <AREA id="Checked" pos="0,109" size="16,16"/> <AREA id="Bookmark" pos="22,0" size="11,11"/> </IMAGE> - Значки в контекстному меню, маркер контекстного меню, закладка списку
Значки мишки в хінтах Декоративне зображення <IMAGE id="Hint" file="main.bmp"> <AREA id="Lclick" pos="0,235" size="22,22"/> <AREA id="Rclick" pos="23,235" size="22,22"/> </IMAGE> - Зображення мишок в хінтах
Набори кольорів Набори кольорів <IMAGE id="Color" file="Color.bmp"> <AREA id="LACaption" pos="1,1" size="1,2"/> <AREA id="OSD" pos="141,18" size="1,5"/> <AREA id="Timeline" pos="71,83" size="1,2"/> <AREA id="Hint" pos="71,119" size="1,3"/> <AREA id="PL" pos="1,18" size="1,12"/> <AREA id="Menu" pos="71,18" size="1,7"/> <AREA id="FOD_TV" pos="1,83" size="1,18"/> <AREA id="SOD_TV" pos="1,83" size="1,18"/> </IMAGE> - Усі кольори за кольором на піксель (зверху вниз):

Кольори тексту в заголовку вікна
  1. Текст, коли вікно Light Alloy активне
  2. Текст, коли вікно Light Alloy неактивне
Кольори OSD і відеообласті
  1. текст OSD
  2. фон OSD
  3. тінь тексту OSD
  4. контур тексту OSD
  5. фон відеообласті
Кольори списку:
  1. фон
  2. текст відеоелементу (відео і IPTV)
  3. файл, що програється зараз
  4. курсор
  5. повторюваний файл
  6. видалений/недоступний файл
  7. минулий відтворюваний файл при запуску програвача
  8. закладки
  9. закладки файлу, що програється зараз
  10. роздільник списку і відеообласті
  11. текст великих цифр на шкалі часу
  12. текст аудіоелементу (музика і радіо)
Кольори автопромотки
  1. автопромотка, зроблена раніше
  2. автопромотка під час відмічання її мишею
Кольори хінтів
  1. фон
  2. контур і роздільник
  3. текст
Кольори контекстного меню
  1. фон
  2. звичайний пункт меню
  3. недоступний пункт меню
  4. рамка курсора
  5. текст під курсором
  6. фон курсора
  7. горизонтальний роздільник
Кольори повноекранного завантаження файлів і субтитрів
(Два окремі блоки):
  1. текст під курсором
  2. текст тек
  3. текст файлів
  4. курсор активний
  5. курсор неактивний
  6. фон активної панелі файлів
  7. фон активної панелі дисків
  8. фон неактивної панелі файлів
  9. фон неактивної панелі дисків
  10. загальний фон
  11. фон кнопок
  12. тект кнопок
  13. фон кнопок при наведенні
  14. фон заголовка
  15. текст заголовка
  16. текст жорстких дисків
  17. текст змінних дисків (флешок)
  18. текст оптичних дисків

Опціональні елементи шкірки

Усі опціональні елементи шкірки умовно можна розділити на кнопки і інші елементи (не кнопки). Усі кнопки будуються за єдиним принципом, по суті відрізняються тільки функцією і власним ім'ям. Не кнопки характеризуються унікальними правилами для кожного окремо взятого елементу.

Кнопки

Кнопки характеризуються єдиним підходом до синтаксису, анімацією, постійним змістом і однаковою реакцією по усій площі. Синтаксис кнопок такий:

<IMAGE ...> <AREA id="BtPlay" pos="10,10" size="20,60"/> </IMAGE> <CTLDEF ...> <CONTROL type="GfxBtn" pos="30,30" size="20,20" img="FT.BtPlay" link="App.SuperPlay"/> </CTLDEF>

Тут потрібно пам'ятати три речі:

  1. AREA id може бути будь-яка, але є розроблений легкий для читання набір імен. Рекомендується користуватися в першу чергу ним для подальшої легкості для читання шкірки як автором, так і будь-якими зацікавленими людьми. У разі самостійного створення id необхідно використовувати латиницю і уникати крапок.
  2. CONTROL img складений. Він складається з "IMAGE id" та "AREA id", написаних через крапку.
  3. CONTROL link означає функцію кнопки. Якщо вказана функція не існує, програвач просто проігнорує натиснення кнопки. Існує лише обмежена кількість функцій. Спроба призначити функцію не з нижчеприведеного переліку методом аналогії не спрацює.
Назва Тип Рекомендований AREA id CONTROL link
Файл
Відкрити файл Звичайна кнопка BtOpen PlayList.OpenFiles
Інформація про файл Звичайна кнопка BtInfo Window.FileInfo
Відтворити DVD-диск Звичайна кнопка BtDVD File.PlayDVD
Відкрити теку з DVD Звичайна кнопка BtFolderDVD File.OpenDVD
Інформація про файл в OSD Звичайна кнопка BtOSDInfo File.OSDInfo
Повноекранне меню відкриття файлів Звичайна кнопка BtOpenFS File.OpenFile_Fullscr
Радіо
Каталог інтернет радіостанцій Звичайна кнопка btOpenIRE File.OpenIRE
Радіо: почати/зупинити запис Кнопка з фіксацією btRec Player.RadioRecord
Відтворення
Відтворення / Пауза Кнопка з фіксацією BtPlay App.SuperPlay
Стоп (вивантаження файлу) Звичайна кнопка BtStop Playback.RealStop
Кадр вперед Звичайна кнопка BtFStep Player.FrameStep
Зробити закладку на шкалі часу Звичайна кнопка btBookmark Seek.SetBookmark
Зміна швидкості Кнопка з фіксацією BtFF Player.SpeedPlay
Збільшити швидкість відтворення Звичайна кнопка BtSpdUp Playback.SpeedUp
Зменшити швидкість відтворення Звичайна кнопка BtSpdDown Playback.SpeedDown
Перемотування
Зробити закладку на шкалі часу Звичайна кнопка BtBookmark Seek.SetBookmark
Вікно
Поверх усіх вікон Кнопка з фіксацією btTop StayOnTop
Вікно/Увесь екран Кнопка з фіксацією BtZI Window.FullScreen
Первинний розмір Звичайна кнопка BtZO Window.Original
Максимізувати (розгорнути) Кнопка з фіксацією btMax App.Maximize
Мінімізувати (згорнути) Звичайна кнопка btMin App.Minimize
Список
Попередній за списком Звичайна кнопка BtPlPrev PlayList.Prev
Список Кнопка з фіксацією BtPlist Window.PlayList
Наступний за списком Звичайна кнопка BtPlNext PlayList.Next
Відтворити вибраний Звичайна кнопка btPlay PList.Play
Додати файл(и) в список Звичайна кнопка btAdd PList.AddFiles
Додати теку в список Звичайна кнопка btAddDir PList.AddDir
Видалити зі списку Звичайна кнопка btRem PList.Remove
Очистити список Звичайна кнопка btClear PList.Clear
Перемістити вище Звичайна кнопка btUp PList.MoveUp
Перемістити нижче Звичайна кнопка btDown PList.MoveDown
Випадковий порядок відтворення Кнопка з фіксацією btShuffle PList.Shuffle
Закладки в списку Кнопка з фіксацією btMarks PList.ShowMarks
Повтор списку Кнопка з фіксацією btMarks PList.ShowMarks
Таблиця за списком Звичайна кнопка btReport PList.Report
Зберегти список Звичайна кнопка btSave PList.Save
Перейти до файлу (пошук у списку) Звичайна кнопка btJump PList.Jump
Відсортувати список Звичайна кнопка btSort PList.Sort
Перемішати список Звичайна кнопка btVisShuffle PList.VisShuffle
Показати файл в провіднику Звичайна кнопка btShow PList.Search
Звук
Відключити звук Кнопка з фіксацією BtMute Audio.Mute
Перемкнути аудіо-доріжку Звичайна кнопка BtASwitch Sound.Switch
Опції звуку Звичайна кнопка BtAProps Window.AudioProps
Радіо: почати/зупинити запис Кнопка з фіксацією btRec Player.RadioRecord
Субтитри
Показати/приховати субтитри Кнопка з фіксацією BtSubs Subtitles.Show
Перемкнути субтитри Звичайна кнопка BtSSwitch Subtitles.Switch
Опції субтитрів Звичайна кнопка BtSProps Window.SubProps
Повноекранне меню завантаження субтитрів Звичайна кнопка BtSAddFS Subtitles.Open_Fullscr
Відео
Перемкнути пропорції Звичайна кнопка BtVRatio Video.RatioSwitch
Опції відео Звичайна кнопка BtVProps Window.VideoProps
Зберегти кадр Звичайна кнопка BtSShot Player.ScreenShot
Зберегти кадр у буфер обміну Звичайна кнопка BtSShotCB Video.ScreenshotCB
Зберегти мініатюри Звичайна кнопка BtSaveThumbs Video.SaveThumbs
Зберегти пакет повнорозмірних скріншотів Звичайна кнопка BtSaveScreensPack Video.SaveScreensPack
Відкрити теку зі знімками з екрану Звичайна кнопка BtOpenScrFolder Application.OpenScrFolder
Програма
Налаштування Звичайна кнопка BtPrefs App.Prefs
Планувальник Кнопка з фіксацією btSheduler Application.Scheduler
Дерево фільтрів Звичайна кнопка BtFlt Window.Filters
Сайт розробника шкірки Звичайна кнопка btDesLink About.DesLink
Сайт програми Звичайна кнопка btDevLink About.DevLink
Про програму Звичайна кнопка btAbout App.About
Вихід Звичайна кнопка btExit App.Exit
Система
Вимкнути монітор Звичайна кнопка btMonitorOff Application.MonitorOff
Виклик діалогу виключення комп'ютера Звичайна кнопка btPowerOff Application.PowerOff
Перевести комп'ютер в сплячий режим Звичайна кнопка btHibernate Application.Hibernate

Не кнопки

Назва Тип Оголошення Застосування Опис
Шкала часу Шкала часу <AREA id="SeekBG" pos="298,7" size="24,26"/> <AREA id="SeekBGfill" pos="226,7" size="24,26"/> <AREA id="SeekThumb" pos="263,19" size="24,14"/> <AREA id="SeekHiTick" pos="254,14" size="1,5"/> <AREA id="SeekLoTick" pos="255,14" size="1,5"/> <CONTROL type="Seeker" pos="4,9" size="-4,24" bg="FT.SeekBG" bgsplit="12,6" bgfill="FT.SeekBGfill" thumb="FT.SeekThumb" lotick="FT.SeekLoTick" hitick="FT.SeekHiTick" OpeningPos="14" OpeningHeight="6"/> Шкала часу служить для перемотування файлу. Її параметри:
  • size="-4,24" - негативна довжина; це означає, що довжина відлічується від правого краю панелі;
  • bgfill="FT.SeekBGfill" - фон пройденої ділянки;
  • thumb="FT.SeekThumb" - бігунок;
  • hitick="FT.SeekHiTick" - основні насічки;
  • lotick="FT.SeekLoTick" - додаткові насічки;
  • OpeningPos="14" - висота від верхнього краю шкали часу до автопромотки;
  • OpeningHeight="6" - висота самої автопромотки.
Формуючи насічки, не можна забувати, що закладка - це здвоєна насічка, а ширина бігунка - 24 пікселі.
Гучність Слайдер <AREA id="VolBGF" pos="226,40" size="9,13"/> <AREA id="VolThumb" pos="236,40" size="10,13"/> <AREA id="VolBG" pos="247,40" size="9,13"/> <CONTROL type="Slider" pos="45,40" size="92,13" bg="FT.VolBG" bgsplit="5,19" bgfill="FT.VolBGF" thumb="FT.VolThumb"/> Гучність говорить сама за себе. Важливо пам'ятати про обмеження ширину повзунка в 10 пікселів.
Заголовок Текстовий рядок <AREA id="TitleBG" pos="10,8" size="10,16"/> <CONTROL type="Text" pos="100,3" size="-100,17" font="Verdana" fontsz="10" top_delta="-2" bold="0" bg="HD.TitleBG" bgsplit="8,5" variable="1" text="{TITLE}"/> Заголовок призначений для відображення імені файлу і деякої інформації про стан програвача. Параметри:
  • font="Verdana" - гарнітура.
  • fontsz="10" - розмір шрифту;
  • top_delta="-2" - зміщення тексту по вертикалі. Мінус - вгору, плюс - вниз;
  • bold="0" - жирність шрифту : 0 - звичайний, 1 - жирний;
  • bg="HD.TitleBG" - фон під текстом;
  • text="{TITLE}" - власне текст (на даний момент зміна параметра ні на що не вплине, але, можливо, в майбутньому це зміниться).
Окрім цього, в наборах кольорів вказуються кольори тексту при активному і неактивному вікні. Проте, ці кольори діють на усі текстові рядки, тому створення звичайного текстового рядка з позицією, тривалістю або часом, хоч і можливе, але матиме обмеження за кольором і супутні проблеми.
Позиція
Тривалість
Час
Графічний текстовий рядок <AREA id="Digits" pos="326,6" size="114,15"/> <FONT id="Digits" img="FT.Digits" chars="0123456789: &lt;&gt;_"/> <CONTROL type="Text" pos="3,1" size="69,14" font="Digits" text=" {POS} &gt; {DUR}"/> Позиція, Тривалість і Час позначаються такими значеннями відповідно:
  1. {POS} - позиція відтворюваного файлу
  2. {DUR} - тривалість відтворюваного файлу
  3. {TIME} - системний час
Для коректного відображення інформації потрібні наступні символи:
  • {POS} -  "0123456789: <" (двокрапка розділяє години, хвилини, секунди; пропуск і скоба задіяні у відображенні прямого і зворотного відліку)
  • {DUR} -  "0123456789:"
  • {TIME} - "0123456789: " (двокрапка щосекунди замінюється пропуском і навпаки)
Окрім цих значень можна використати будь-які символи на власний розсуд. Також можна комбінувати простий текст і інтерактивний.

Зображення діляться на символи на підставі нижнього ряду пікселів : змінився колір - означає почався новий символ. Приклад (масштаб 200%):